package view;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import model.CiiBay;
import model.Persoon;

/**
 * Een view voor het aanmaken en versturen van berichten.
 * @author Marvin
 * @since 11-06-2010
 */
@SuppressWarnings("serial")
public class BerichtMaakView extends JPanel {

	private JTextField titel,ontvangerVeld;
	private JTextArea omschrijving;
	private JLabel titelLabel, omschrijvingLabel, ontvangerLabel;
	private JButton verstuur;
	private Persoon ontvanger, verstuurder;
	private CiiBay ciiBay;
	private JScrollPane scroll;

	public BerichtMaakView(Persoon ontvanger, CiiBay c, int i) {
		this.ciiBay = c;
		this.ontvanger = ontvanger;
		this.verstuurder = ciiBay.getIngelogtPersoon();

		verstuur = new JButton("Verstuur");
		verstuur.addActionListener(new VerstuurHandler());
		ontvangerVeld = new JTextField();
		titel = new JTextField("", 25);
		titel.setDocument(new MaxAantalKarakters(35));
		omschrijving = new JTextArea(10,20);
		omschrijving.setMaximumSize(new Dimension(20,20));
		omschrijving.setDocument(new MaxAantalKarakters(250));
		scroll = new JScrollPane(omschrijving);
		titelLabel = new JLabel("titel: ", JLabel.CENTER);
		ontvangerLabel = new JLabel("Ontvanger: ", JLabel.CENTER);
		omschrijvingLabel = new JLabel("Omschrijving:", JLabel.CENTER);

		titelLabel.setBackground(Color.ORANGE);
		omschrijvingLabel.setBackground(Color.ORANGE);
		setBackground(Color.ORANGE);

		if(i != 0){
			ontvangerVeld.setText(ciiBay.getBericht(i).getVerzender().getNaam());
			titel.setText("RE:" + ciiBay.getBericht(i).getTitel());
		}

		setLayout(new GridBagLayout());
		GridBagConstraints g = new GridBagConstraints();
		g.anchor = GridBagConstraints.NORTHEAST;
		g.fill	 = GridBagConstraints.BOTH;

		g.gridy = 0;
		add(ontvangerLabel, g);
		g.gridy++;
		add(ontvangerVeld, g);
		g.gridy++;
		add(titelLabel, g);
		g.gridy++;
		add(titel, g);
		g.gridy++;
		add(omschrijvingLabel, g);
		g.gridy++;
		add(scroll, g);
		g.gridy++;
		add(verstuur, g);





	}

	class VerstuurHandler implements ActionListener {

		@Override
		public void actionPerformed(ActionEvent arg0) {
			String message = "";
			String tempTitel = titel.getText();
			ontvanger = ciiBay.getPersoon(ontvangerVeld.getText());

			String tempOmschrijving = omschrijving.getText();
			String datum = ciiBay.datumVandaag();
			message = ciiBay.berichtToevoegen(verstuurder, ontvanger, tempOmschrijving, tempTitel, datum);
			if(message.equals("Bericht verzonden!")){
				ciiBay.veranderView("mailbox");
			}
			JOptionPane.showMessageDialog(null, message, "",
					JOptionPane.PLAIN_MESSAGE);
		}

	}
}
